package com.ruoyi.scope.service;


import com.ruoyi.scope.domain.Scope;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * 经营范围基础Service接口
 *
 * @author zjh
 * @date 2022-04-08
 */
public interface ScopeService {
    /**
     * 查询经营范围基础
     *
     * @param scopeId 经营范围基础ID
     * @return 经营范围基础
     */
    public Scope selectScopeById(Long scopeId);

    /**
     * 查询经营范围基础列表
     *
     * @param scope 经营范围基础
     * @return 经营范围基础集合
     */
    public List<Scope> selectScopeList(Scope scope);

    /**
     * 新增经营范围基础
     *
     * @param scope 经营范围基础
     * @return 结果
     */
    public int insertScope(Scope scope);

    /**
     * 修改经营范围基础
     *
     * @param scope 经营范围基础
     * @return 结果
     */
    public int updateScope(Scope scope);

    /**
     * 批量删除经营范围基础
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteScopeByIds(String ids);

    /**
     * 删除经营范围基础信息
     *
     * @param scopeId 经营范围基础ID
     * @return 结果
     */
    public int deleteScopeById(Long scopeId);

    /**
     * 根据生产类别与管理类别查询数量
     *
     * @param scopeClass,productClass 查询条件
     * @return 结果
     */
    Integer selectScopeByName(String scopeClass,String productClass);


    /**
     * 根据生产类别与管理类别查询id
     *
     * @param scopeClass,productClass 查询条件
     * @return 结果
     */
    Long selectScopeIdByName(String scopeClass,String productClass);


    /**
     * 导入管理数据
     *
     * @param scopeList 用户数据列表
//     * @param isUpdateSupport 是否更新支持，如果已存在，则进行更新数据
     * @param operName 操作用户
     * @return 结果
     */
    public String importScope(MultipartFile file, List<Scope> scopeList, String operName) throws Exception;

    /**
     * 下载模板
     *
     * @return 结果
     */
    public String exportTemp();


    Long selectScopeIdByNameAndProductRemark(String scopeClass, String productClass, String productRemark);
}
